use super::config::{ INSTALL_DIR};
use std::fs;
use std::io;
use std::io::{Error};
use std::path::{Path, PathBuf};

pub fn init_dir(dir: &Path) -> io::Result<()> {
    // 检查目录是否存在
    if dir.exists() {
        // 注意：这只会删除空目录，如果目录不为空，会返回错误
        fs::remove_dir_all(dir).map_err(|err| {
            Error::new(
                err.kind(),
                format!("init_dir/remove_dir_all error:{:?}", err),
            )
        })?;
    }
    Ok(())
}

pub fn create_install_dir() -> io::Result<PathBuf> {
    let install_dir = Path::new(INSTALL_DIR);
    fs::create_dir(install_dir)?;
    Ok(install_dir.to_path_buf())
}
